安全なローカル開発環境を守るためのパーミッション管理とサンドボックス設定
Claude Codeはローカル環境(ファイルシステム、ネットワーク、コマンド実行など)に直接アクセスする強力なエージェントです。安全な利用のためには、「最小特権の原則(Least Privilege)」 に基づいた適切な権限設定が推奨されます。
セキュリティの心臓部となるのが設定ファイルです。このファイルでClaudeの行動範囲(アクセスできるファイル、実行できるコマンド等)を詳細にコントロールします。
プロジェクトのルートディレクトリに .claude/settings.json を作成するか、グローバルの設定ファイルを編集することで、ツールやアクションのアクセス許可ルールを細かく定義できます。
確認なしでの実行を許可します。日常的に使用する安全なコマンドやフォルダを設定します。
実行前にユーザーの承認を求めます。デフォルトの設定です。
Claudeのアクセスを完全にブロックします。denyルールは他のルールより優先されます。 機密情報(例: .env や ~/.ssh/)の読み取りや、危険なコマンド実行を防ぎます。
Claudeの自律性のレベルは、設定内の defaultMode でコントロールできます。
一般的な操作。書き込みやコマンド実行などの影響を及ぼす操作の前に、ユーザーの確認を求めます。
読み取り専用モードです。ファイルの変更やコマンド実行は行わず、実装計画を立てるためだけに動作します。
事前に allow で許可されたアクション以外は、すべて自動的に拒否されます。厳格な制御が必要なプロジェクト向け。
バックグラウンドの安全確認機能に基づき、自動的にアクションを承認します。(※より自律的になりますが、使用時は意図せぬ変更に注意してください)
/sandbox コマンドを使用することで、ファイルシステムやネットワークに対するBashコマンドのスコープを制限できます。仮に悪意あるコードを読み込んでプロンプトインジェクションが発生しても、サンドボックス外のOSリソース(SSHキーやシステムファイルなど)は守られます。
ClaudeのCLIセッション内で /permissions と入力すると、現在アクティブな権限(allow, denyなど)と、その設定がどのファイルからロードされているかの一覧を確認できます。
Claude Codeはシステムの管理者権限(rootなど)を持った状態で実行 しないでください。また、Claudeが提案するシェルコマンドは、実行前に必ず内容を目視で確認する習慣をつけましょう。
機密データや外部に公開する変更をコミットする前に、/security-review や指示を通じて、コードの脆弱性スキャンやレビューをClaude自身に行わせることも有効です。
チームでClaude Codeを導入する場合は、組織として Settings.json を安全に構成し、Gitリポジトリ等で共有することで、チーム全体のセキュリティ標準を保つことができます。(一部のエンタープライズ版では「管理された設定機能」を通して上書き不可な強制ルールも適用可能です)